import store from "@/store";
let test = uni.$u.test;
let defaultValue = uni.$z.defaultValue;
const ChargeCarsearchjson = [
  {
    label: "桩号",
    value: "gtel",
  },
  {
    label: "桩名",
    value: "mc",
  },
  {
    label: "设备状态",
    value: "gzt",
    type: "select",
    option: [
      {
        label: "全部",
        value: "",
      },
      ...defaultValue.gzt,
    ],
  },
  {
    label: "所属站点",
    value: "pcs",
    type: "pcs",
  },
  {
    label: "收费模式",
    value: "type",
    type: "select",

    option: [
      {
        label: "全部",
        value: "",
      },
      ...defaultValue.type,
      {
        label: "充电柜租置",
        value: "11",
      },
      {
        label: "分阶段电量计费",
        value: "12",
      },
      {
        label: "线性计费",
        value: "13",
      },
      {
        label: "地锁阶梯电量计费",
        value: "14",
      },
    ],
    defaultValue: "",
    span: 9,
  },
  {
    label: "设备类型",
    value: "gtype",
    type: "select",
    option: [
      {
        label: "全部",
        value: "",
      },
      ...defaultValue.gtype,
    ],
  },
];

const ChargeCartablejson = [
  {
    label: "桩号",
    value: "gtel",
  },
  {
    label: "桩名",
    value: "mc",
  },
  {
    label: "添加时间",
    value: "sjc",
  },
  {
    label: "状态",
    value: "gzt",
    type: "select",
    option: [...defaultValue.gzt],
  },
  {
    label: "使用率",
    value: "syl",
    dw: "%",
  },

  {
    label: "设备型号",
    value: "xtype",
    type: "select",
    option: [
      {
        label: "未知",
        value: "0",
      },
      {
        label: "10路充电桩",
        value: "1",
      },
      {
        label: "5路充电桩",
        value: "2",
      },
      {
        label: "20路充电桩",
        value: "5",
      },
      {
        label: "不定路数充电桩",
        value: "3",
      },
      {
        label: "四合一充电桩",
        value: "4",
      },
      {
        label: "2路大功率设备",
        value: "6",
      },
      {
        label: "户外四路箱式",
        value: "7",
      },
    ],
  },

  {
    label: "收费模式",
    value: "type",
    type: "select",
    option: [
      ...defaultValue.type,
      {
        label: "充电柜租置",
        value: "11",
      },
      {
        label: "分阶段电量计费",
        value: "12",
      },
      {
        label: "线性计费",
        value: "13",
      },
      {
        label: "地锁阶梯电量计费",
        value: "14",
      },
    ],
  },
];
let type12json = [
  {
    value: "jdf",
    label: "尖峰电费",
    dw: "元",
    defaultValue: "0",
    fl: "100",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
  },
  {
    value: "jfff",
    label: "尖峰服务费",
    dw: "元",
    defaultValue: "0",
    fl: "100",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
  },

  {
    value: "jsjsh1s",
    label: "尖峰开始时间1",

    zhis: [
      {
        value: "jsjsh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "jsjsm1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
  },
  {
    value: "jsjsh1s",
    label: "尖峰结束时间1",

    zhis: [
      {
        value: "jsjeh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "jsjem1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
  },
  {
    value: "jsjsh2s",
    label: "尖峰开始时间2",

    zhis: [
      {
        value: "jsjsh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "jsjsm2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
  },
  {
    value: "jsjsh2s",
    label: "尖峰结束时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "jsjeh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "jsjem2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "jsjsh3s",
    label: "尖峰开始时间3",

    zhis: [
      {
        value: "jsjsh3",
        type: "time12",
        defaultValue: "0",
      },
      {
        value: "jsjsm3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
  },
  {
    value: "jsjsh3s",
    label: "尖峰结束时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "jsjeh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "jsjem3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "fdf",
    label: "高峰电费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },
  {
    value: "ffff",
    label: "高峰服务费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },

  {
    value: "fsjsh1s",
    label: "高峰开始时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjsh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjsm1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "fsjsh1s",
    label: "高峰结束时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjeh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjem1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "fsjsh2s",
    label: "高峰开始时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjsh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjsm2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "fsjsh2s",
    label: "高峰结束时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjeh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjem2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "fsjsh3s",
    label: "高峰开始时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjsh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjsm3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "fsjsh3s",
    label: "高峰结束时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "fsjeh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "fsjem3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "pdf",
    label: "平峰电费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },
  {
    value: "pfff",
    label: "平峰服务费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },

  {
    value: "psjsh1s",
    label: "平峰开始时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "psjsh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjsm1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "psjsh1s",
    label: "平峰结束时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "psjeh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjem1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "psjsh2s",
    label: "平峰开始时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "psjsh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjsm2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "psjsh2s",
    label: "平峰结束时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "psjeh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjem2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "psjsh3s",
    label: "平峰开始时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "psjsh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjsm3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "psjsh3s",
    label: "平峰结束时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "psjeh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "psjem3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "gdf",
    label: "谷峰电费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },
  {
    value: "gfff",
    label: "谷峰服务费",
    dw: "元",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    defaultValue: "0",
    fl: "100",
  },

  {
    value: "gsjsh1s",
    label: "谷峰开始时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjsh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjsm1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "gsjsh1s",
    label: "谷峰结束时间1",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjeh1",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjem1",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "gsjsh2s",
    label: "谷峰开始时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjsh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjsm2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "gsjsh2s",
    label: "谷峰结束时间2",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjeh2",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjem2",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },

  {
    value: "gsjsh3s",
    label: "谷峰开始时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjsh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjsm3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
  {
    value: "gsjsh3s",
    label: "谷峰结束时间3",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["12", "14"],
        },
      ],
      zhimust: [
        {
          value: "gtype",
          zhi: ["62"],
        },
      ],
    },
    zhis: [
      {
        value: "gsjeh3",
        type: "time12h",
        defaultValue: "0",
      },
      {
        value: "gsjem3",
        type: "time12m",
        defaultValue: "0",
      },
    ],
    type: "time12",
  },
];
let type12jsondata = [];
let array = type12json,
  r = [];
for (let index = 0; index < array.length; index++) {
  const e = array[index];
  // e.if = {
  //   zhi: [
  //     {
  //       value: "type",
  //       zhi: ["12", "14"],
  //     },
  //   ],
  // };
  if (e.type == "time12") {
    let list = [
      {
        callback(formdata, zdata) {
          let datas = [
            ["jsjsh1", "jsjsm1", "jsjeh1", "jsjem1"],
            ["jsjsh2", "jsjsm2", "jsjeh2", "jsjem2"],
            ["jsjsh3", "jsjsm3", "jsjeh3", "jsjem3"],
            ["fsjsh1", "fsjsm1", "fsjeh1", "fsjem1"],
            ["fsjsh2", "fsjsm2", "fsjeh2", "fsjem2"],
            ["fsjsh3", "fsjsm3", "fsjeh3", "fsjem3"],
            ["psjsh1", "psjsm1", "psjeh1", "psjem1"],
            ["psjsh2", "psjsm2", "psjeh2", "psjem2"],
            ["psjsh3", "psjsm3", "psjeh3", "psjem3"],
            ["gsjsh1", "gsjsm1", "gsjeh1", "gsjem1"],
            ["gsjsh2", "gsjsm2", "gsjeh2", "gsjem2"],
            ["gsjsh3", "gsjsm3", "gsjeh3", "gsjem3"],
          ];
          datas = datas.find(function (f) {
            return (
              f.indexOf(e.zhis[0].value) >= 0 || f.indexOf(e.zhis[1].value) >= 0
            );
          });
          let numi = datas[0].replace(/[^\d]/g, "");
          let stri = datas[0].replace(/[\d]/g, "") + "i";

          e.if.zhimust = e.if.zhimust || [];
          e.if.zhimust.push(function (zhidata) {
            return zhidata[`${stri}`] >= numi;
          });

          let r = [
            {
              ...e,
              ...e.zhis[0],
              span: 8,
              inputAlign: "center",
              type: "select",
              option: {
                callback(data) {
                  let r = [
                    {
                      label: "00",
                      value: "0",
                    },
                    {
                      label: "01",
                      value: "1",
                    },
                    {
                      label: "02",
                      value: "2",
                    },
                    {
                      label: "03",
                      value: "3",
                    },
                    {
                      label: "04",
                      value: "4",
                    },
                    {
                      label: "05",
                      value: "5",
                    },
                    {
                      label: "06",
                      value: "6",
                    },
                    {
                      label: "07",
                      value: "7",
                    },
                    {
                      label: "08",
                      value: "8",
                    },
                    {
                      label: "09",
                      value: "9",
                    },
                    {
                      label: "10",
                      value: "10",
                    },
                    {
                      label: "11",
                      value: "11",
                    },
                    {
                      label: "12",
                      value: "12",
                    },
                    {
                      label: "13",
                      value: "13",
                    },
                    {
                      label: "14",
                      value: "14",
                    },
                    {
                      label: "15",
                      value: "15",
                    },
                    {
                      label: "16",
                      value: "16",
                    },
                    {
                      label: "17",
                      value: "17",
                    },
                    {
                      label: "18",
                      value: "18",
                    },
                    {
                      label: "19",
                      value: "19",
                    },
                    {
                      label: "20",
                      value: "20",
                    },
                    {
                      label: "21",
                      value: "21",
                    },
                    {
                      label: "22",
                      value: "22",
                    },
                    {
                      label: "23",
                      value: "23",
                    },
                    {
                      label: "24",
                      value: "24",
                    },
                  ];
                  if (e.zhis[0].value == datas[2]) {
                    r = r.filter(function (f) {
                      return data[datas[1]] == 0
                        ? Number(f.value) >= Number(data[datas[0]])
                        : Number(f.value) > Number(data[datas[0]]);
                    });
                  }
                  return r;
                },
              },
              delback: function (formdata) {
                formdata[e.zhis[0].value] = "0";
              },
            },
            {
              ...e,
              ...e.zhis[1],
              label: "",
              inputAlign: "center",
              span: 4,
              labelwidth: "0",
              type: "select",
              option: {
                callback(data) {
                  let r = [
                    {
                      label: "00",
                      value: "0",
                    },
                    {
                      label: "30",
                      value: "30",
                    },
                  ];
                  if (e.zhis[1].value == datas[1]) {
                    r = r.filter(function (f) {
                      return data[datas[0]] == 24 ? Number(f.value) == 0 : true;
                    });
                  }
                  if (e.zhis[1].value == datas[3]) {
                    r = r.filter(function (f) {
                      if (data[datas[0]] == 0) {
                        return true;
                      }
                      if (data[datas[2]] == 24) {
                        return Number(f.value) == 0;
                      }
                      if (data[datas[2]] == data[datas[0]]) {
                        return Number(f.value) == 30;
                      }
                      return true;
                    });
                  }
                  return r;
                },
              },
              delback: function (formdata) {
                formdata[e.zhis[1].value] = "0";
              },
            },
          ];

          if (numi == 3 && e.zhis[0].value.indexOf("jeh") >= 0) {
            let max = zdata.gtype == "62" ? 3 : 2;
            let defaultValue = ["3", "2", "1"].find((i) => {
              let str1 = datas[0].replace(/[\d]/g, "");
              let str2 = datas[1].replace(/[\d]/g, "");
              let str3 = datas[2].replace(/[\d]/g, "");
              let str4 = datas[3].replace(/[\d]/g, "");
              if (
                (zdata[`${str1}${i}`] && zdata[`${str1}${i}`] != 0) ||
                (zdata[`${str2}${i}`] && zdata[`${str2}${i}`] != 0) ||
                (zdata[`${str3}${i}`] && zdata[`${str3}${i}`] != 0) ||
                (zdata[`${str4}${i}`] && zdata[`${str4}${i}`] != 0)
              ) {
                return true;
              }
            });
            if (!defaultValue) {
              defaultValue = "1";
            }
            if (Number(defaultValue) >= max) {
              defaultValue = String(max);
            }

            r.push({
              label: `添加挡位`,
              value: `${stri}`,
              span: 12,
              defaultValue: defaultValue,
              type: "edittime",
              if: {
                zhi: [
                  {
                    value: "type",
                    zhi: ["12", "14"],
                  },
                ],
              },
              max,
            });
          }

          return r;
        },
      },
    ];
    r = r.concat(list);
  } else {
    r.push(e);
  }
}
type12jsondata = type12jsondata.concat(r);

// {
//   label: '2档费用',
//   value: 'a2',
//   defaultValue: '2',
//   if: {
//     zhi: [{ value: 'type', zhi: ['9'] }],
//   },
//   fl: '100',
//   dw: '元',
//   span: 8,
// },
// {
//   label: '/',
//   value: 'df2',
//   defaultValue: '480',
//   if: {
//     zhi: [{ value: 'type', zhi: ['9'] }],
//   },
//   dw: '分钟',
//   span: 4,
//   labelwidth: 'auto',
// },
const ChargeCartypejson = [
  {
    label: "开锁余额",
    value: "df",
    dw: "元",
    defaultValue: "50",
    fl: 100,
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
  },
  {
    label: "免费停车时间",
    value: "jebd",
    dw: "分",
    defaultValue: "0",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
  },
  {
    label: "车位费",
    value: "qbf",
    dw: "元",
    defaultValue: "5",
    fl: "100",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
  },
  {
    label: "停车时长",
    value: "dfsj",
    dw: "分",
    defaultValue: "60",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
  },
  ...type12jsondata,

  {
    label: "电费单价",
    value: "df",
    dw: "元/度",
    defaultValue: "100",
    fl: 100,
    // type: "",
    if: {
      zhi: [
        {
          value: "type",
          zhi: ["1", "10", "16"],
        },
      ],
    },
  },
];

const ChargeCaraddjson = [
  {
    label: "桩号",
    value: "gtel",
    rule: [
      {
        required: true,
        message: "请输入桩号",
        trigger: "blur",
      },
    ],
  },
  {
    label: "桩名",
    value: "mc",
  },
  {
    label: "地址",
    value: "dz",
    type: "dz",
    modelValues: [
      // { type: "AreaCode", label: "区域编码", prop: "AreaCode" },
      { type: "Address", label: "地址信息", prop: "dz" },
      { type: "mpt", label: "地图初始坐标", prop: "wz" },
    ],
  },
  {
    label: "所属站点",
    value: "pcs",
    type: "pcs",

    defaultText: "请选择",
    rule: [
      {
        required: true,
        message: "请选择所属站点",
        trigger: "blur",
      },
    ],
    defaultValue: store.state.user.USearch.pcs,
  },
  {
    label: "收费模式",
    value: "type",
    type: "select",

    option: [...defaultValue.type],
    defaultValue: "1",
  },

  ...ChargeCartypejson,
  {
    label: "备注",
    value: "bz",
  },
  // {
  //   value: 'jedbdf',
  //   label: '电费金额',
  //   fl: '100',
  //   dw: '元',
  //   if: {
  //     zhierror: [{ value: 'type', zhi: ['6', '7', '12', '13'] }],
  //   },
  // },
  {
    label: "照片",
    value: "zp",
    type: "img",
  },
];
const ChargeCaredtjson = [
  ...uni.$u.deepClone(ChargeCaraddjson).map((e) => {
    if (e.value == "gtel") {
      e.type = "button";
    }
    if (e.value == "type") {
      //
      e.callbackasync = async (data) => {
        if (data.gtel) {
          let ChargeCfg = await store.dispatch("request/getRequest", {
            url: "/ChargeCfg",
            data: {
              gtel: data.gtel,
            },
          });
          ChargeCfg = ChargeCfg.length == 1 ? ChargeCfg[0] : {};
          if (
            !e.option.find(function (e) {
              return e.value == 13;
            }) &&
            ChargeCfg.b_xxgl == 1
          ) {
            e.option.push({
              label: "线性计费",
              value: "13",
            });
          }
        }

        return {
          ...e,
        };
      };
    }
    return e;
  }),
];
ChargeCaredtjson.splice(
  ChargeCaredtjson.length - 2,
  0,
  {
    label: "第三方道闸",
    value: "b_pm",
    defaultValue: "0",
    if: {
      zhi: [
        {
          value: "gtype",
          zhi: ["2", "62", "61"],
        },
      ],
      zhimust: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
    type: "select",
    option: [
      {
        label: "无道闸",
        value: "0",
      },
      {
        label: "科拓道闸",
        value: "2",
      },
      {
        label: "海康道闸",
        value: "3",
      },
      {
        label: "独立地锁",
        value: "4",
      },
    ],
  },
  {
    label: "第三方道闸",
    value: "b_pm",
    defaultValue: "0",
    if: {
      zhi: [
        {
          value: "gtype",
          zhi: ["2", "62", "61"],
        },
      ],
      zhierror: [
        {
          value: "type",
          zhi: ["14"],
        },
      ],
    },
    type: "select",
    option: [
      {
        label: "无道闸",
        value: "0",
      },
      {
        label: "科拓道闸",
        value: "2",
      },
      {
        label: "海康道闸",
        value: "3",
      },
    ],
    defaultValue: "0",
  },
  {
    async callbackasync(data) {
      let ChargeDS = await store.dispatch("request/getRequest", {
        url: "/ChargeDS",
        data: {
          gtel: data.gtel,
        },
      });
      let r = [];
      let abc = [
        "A",
        "B",
        "C",
        "D",
        "E",
        "F",
        "G",
        "H",
        "I",
        "J",
        "K",
        "L",
        "M",
        "N",
      ];
      for (let i = 0; i < data.gls; i++) {
        let dqChargeDS = ChargeDS.find((e) => {
          return e.gtel == data.gtel && e.td == i + 1;
        });
        dqChargeDS = dqChargeDS || {};
        let a = abc[i];
        r.push(
          {
            label: `${a}枪地锁桩号`,
            value: `gtelds${i + 1}`,
            if: {
              zhi: [
                {
                  value: "b_pm",
                  zhi: ["4"],
                },
              ],
            },
            defaultValue: dqChargeDS.gtelds || "",
          },
          {
            label: `${a}枪地锁地址`,
            value: `tdds${i + 1}`,
            if: {
              zhi: [
                {
                  value: "b_pm",
                  zhi: ["4"],
                },
              ],
            },
            defaultValue: dqChargeDS.tdds || "",
          }
        );
      }
      // gls
      return r;
    },
  },
  //   {
  // 	label: '地锁桩号',
  // 	value: 'deviceName',
  // 	if: {
  // 		zhi: [{
  // 			value: 'b_pm',
  // 			zhi: ['4']
  // 		}],
  // 	},
  // }, {
  // 	label: '地锁地址',
  // 	value: 'jecm',
  // 	if: {
  // 		zhi: [{
  // 			value: 'b_pm',
  // 			zhi: ['4']
  // 		}],
  // 	},
  // },
  {
    label: "充电金额",
    value: "jebd",
    defaultValue: "5",
    fl: 100,
    dw: "元",
    if: {
      zhi: [
        {
          value: "b_pm",
          zhi: ["3"],
        },
      ],
    },
  },
  {
    label: "免停车时长",
    value: "dfsj",
    defaultValue: "1440",
    dw: "分钟",
    if: {
      zhi: [
        {
          value: "b_pm",
          zhi: ["3"],
        },
      ],
    },
  }
);
const defaultdatavalue = {
  a1: "0",
  df1: "0",
  a2: "0",
  df2: "0",
  a3: "0",
  df3: "0",
  a4: "0",
  df4: "0",
  df: "0",
  qbf: "0",
  dfsj: "0",
  jebd: "0",
  jedbdf: "0",
};

const exceldata = [
  {
    value: "gtel",
    label: "桩号",
  },
  {
    value: "mc",
    label: "桩名",
  },
  // { value: 'gsim', label: '物联网卡号' },
  {
    value: "syl",
    label: "使用率",
    dw: "%",
    defaultValue: "0",
  },
  {
    value: "dz",
    label: "地址",
  },
  {
    value: "uxm",
    label: "联系人",
  },
  {
    value: "utel",
    label: "联系电话",
  },
  {
    value: "pcs",
    label: "所属站点",
  },
  {
    value: "gls",
    label: "插座数量",
    dw: "路",
  },
  {
    value: "sjc",
    label: "上线日期",
  },
  {
    value: "bbh",
    label: "版本号",
    callback: (data) => {
      return `硬件版本:${data.yjbb} 软件版本:${data.rjbb};`;
    },
  },
  {
    value: "type",
    label: "收费模式",
    type: "select",
    option: [...defaultValue.type],
  },
  {
    value: "gxh",
    label: "信号强度",
    defaultValue: "0",
  },
  {
    value: "sjup",
    label: "更新时间",
  },
];
const addsjson = [
  {
    label: "所属站点",
    value: "pcs",
    type: "pcs",

    defaultText: "请选择",
    rule: [
      {
        required: true,
        message: "请选择所属站点",
        trigger: "blur",
      },
    ],
    span: 24,
  },
  {
    label: "选择Exel",
    value: "excel",
    type: "excel",
    defaultValue: "",
    span: 24,
    rule: [
      {
        required: true,
        message: "请选择Exel",
        trigger: "blur",
      },
    ],
  },
];
let ChargeCfglx51 = [
  {
    label: "断电检测时间",
    value: "ddjcc",
    dw: "秒",
  },
  {
    label: "投币充电时间",
    value: "tbsj",
    dw: "分钟",
  },
  {
    label: "涓流时间",
    value: "fcsj",
    dw: "分钟",
  },
  {
    label: "涓流功率值",
    value: "jldl",
    dw: "瓦",
  },
  {
    label: "断开功率值",
    value: "dkdl",
    dw: "瓦",
  },
  {
    label: "最大功率值",
    value: "maxdl",
    dw: "瓦",
  },
  {
    label: "设备音量",
    value: "b_yy",
    dw: "瓦",
  },
  {
    label: "全通卡卡号",
    value: "cardid",
  },
  {
    label: "设备报警温度",
    value: "wdsbal",
  },
  {
    label: "线缆报警温度",
    value: "wdxlal",
  },
  {
    label: "流量卡信息",
    value: "sim",
  },
  {
    label: "第二服务器IP",
    value: "ip",
    if: {
      zhi: [
        {
          value: "b_dr",
          zhi: ["1"],
        },
      ],
    },
  },
  {
    label: "第二服务器端口",
    value: "port",
    if: {
      zhi: [
        {
          value: "b_dr",
          zhi: ["1"],
        },
      ],
    },
  },
  {
    label: "打开投币箱",
    value: "b_tb",
    type: "switch",
  },
  {
    label: "插拔断电",
    value: "b_cbdd",
    type: "switch",
  },
  {
    label: "充满自停",
    value: "b_dd",
    type: "switch",
  },
  {
    label: "烟雾报警",
    value: "b_al",
    type: "switch",
  },
  {
    label: "第二服务器",
    value: "b_dr",
    type: "switch",
  },
];
let ChargeCfglx65 = [
  {
    callback: (data) => {
      let r = [];
      for (var i = 1; i <= data.gls; i++) {
        r.push({
          label: `${i}路设备温度`,
          value: `wddl${i}`,
          dw: "℃",
        });
      }
      return r;
    },
  },
];
let states = [
  {
    label: "桩号",
    value: "gtel",
    disabled: true,
  },
  {
    label: "设备状态",
    value: "gzt",
    type: "select",
    option: [...defaultValue.gzt],
    disabled: true,
  },
];
let state1 = [
  {
    label: "信号强度",
    value: "gxhxs",
    valuecallback: (data) => {
      let r = "";
      r =
        data.gxh == 0 || !data.gxh
          ? "无"
          : data.gxh < 20
          ? `弱${data.gxh}`
          : data.gxh <= 25
          ? `中${data.gxh}`
          : `强${data.gxh}`;

      return r;
    },
  },
  {
    callback: (data) => {
      let r = [
        {
          label: data.gzt == 0 ? "离线时间" : "更新时间",
          value: "sjup",
          disabled: true,
          if: {
            zhierror: [
              {
                value: "gtype",
                zhi: ["61", "62"],
              },
            ],
          },
        },
      ];
      return r;
    },
  },
  {
    label: "烟感状态",
    value: "gyg",
    type: "select",
    option: [...defaultValue.gyg],
  },
  {
    label: "设备温度",
    value: "gwd",
    dw: "℃",
    fl: "10",
  },
  {
    label: "抄表电量",
    value: "dbdf",
    dw: "A",
  },
  {
    label: "硬币收入",
    value: "tbsum",
  },
  {
    label: "硬件版本",
    value: "yjbb",
  },
  {
    label: "软件版本",
    value: "rjbb",
  },
];

let state2 = [
  {
    label: "A表电量",
    value: "gcdl1",
    dw: "A",
  },
  {
    label: "B表电量",
    value: "gcdl2",
    dw: "A",
  },
];
//
let state3 = [
  {
    label: "剩余电流",
    value: "剩余电流",
    defaultValue: "0",
  },
  {
    label: "故障电弧",
    value: "故障电弧",
    defaultValue: "无",
  },
  {
    label: "相电流",
    value: "相电流",
    defaultValue: "0",
  },
  {
    label: "脱钩联动",
    value: "脱钩联动",
    defaultValue: "无",
  },
  {
    label: "故障联动",
    value: "故障联动",
    defaultValue: "无",
  },
  {
    label: "报警联动",
    value: "报警联动",
    defaultValue: "无",
  },
  {
    label: "联动输入报警",
    value: "联动输入报警",
    defaultValue: "无",
  },
];
let state4 = [
  {
    callbackasync: async (data) => {
      let r = [];
      let disabledfalg = true;
      if (
        data.gtype == "0" &&
        ["5", "10", "20"].indexOf(String(data.gls)) >= 0
      ) {
        r.push({
          label: "门状态",
          value: "gxm",
          type: "select",
          option: [
            {
              label: "关闭",
              value: "0",
            },
            {
              label: "打开",
              value: "1",
            },
            {
              label: "故障",
              value: "2",
            },
          ],
          disabled: true,
        });
      }

      for (var i = 1; i <= data["gls"]; i++) {
        r.push({
          label: `第${i}路`,
          value: `glzt${i}`,
          type: "select",
          option: [...defaultValue.glzt],
          disabled: disabledfalg,
          typeurl: "/ChargeCarSysedt",
          typevalue: `glzt${i}`,
          upvalue: `gzt`,
          uodata: {
            td: i,
          },
        });
      }

      return r;
    },
  },
];

states = states
  .concat(
    state1.map((e) => {
      e.disabled = true;
      e.if = {
        zhierror: [
          {
            value: "gtype",
            zhi: ["61", "62"],
          },
        ],
      };
      return e;
    })
  )
  .concat(
    state2.map((e) => {
      e.disabled = true;
      e.if = {
        zhi: [
          {
            value: "gtype",
            zhi: ["61", "62"],
          },
        ],
      };
      return e;
    })
  )
  .concat(
    state3.map((e) => {
      e.disabled = true;
      e.if = {
        zhi: [
          {
            value: "UPW_b_info",
            zhi: ["1"],
          },
        ],
      };
      return e;
    })
  )
  .concat(state4);
const RemoteMetertablejson = [
  {
    label: "桩号",
    value: "gtel",
  },
  {
    label: "电量",
    value: "dl",
    fl: "100",
  },
  {
    label: "添加时间",
    value: "sjc",
  },
  {
    label: "费用",
    value: "RemoteMeterje",
    callback: (e) => {
      let r = ((parseInt(e.dl) * parseInt(e.jedbdf)) / 10000).toFixed(2);
      if (isNaN(r)) {
        r = 0;
      }
      return r;
    },
  },
];
// 验证数据是否合法
function checkdata(data) {
  let r = [];
  if (!(data.type == "12" || data.type == "14")) {
    return r;
  }
  let formdatakeys = [
    ["jsjsh1", "jsjsm1", "jsjeh1", "jsjem1"],
    ["jsjsh2", "jsjsm2", "jsjeh2", "jsjem2"],
    ["jsjsh3", "jsjsm3", "jsjeh3", "jsjem3"],
    ["fsjsh1", "fsjsm1", "fsjeh1", "fsjem1"],
    ["fsjsh2", "fsjsm2", "fsjeh2", "fsjem2"],
    ["fsjsh3", "fsjsm3", "fsjeh3", "fsjem3"],
    ["psjsh1", "psjsm1", "psjeh1", "psjem1"],
    ["psjsh2", "psjsm2", "psjeh2", "psjem2"],
    ["psjsh3", "psjsm3", "psjeh3", "psjem3"],
    ["gsjsh1", "gsjsm1", "gsjeh1", "gsjem1"],
    ["gsjsh2", "gsjsm2", "gsjeh2", "gsjem2"],
    ["gsjsh3", "gsjsm3", "gsjeh3", "gsjem3"],
  ];
  let times = [];
  for (let i = 0; i < formdatakeys.length; i++) {
    let formdatakey = formdatakeys[i];
    let t1 = data[formdatakey[0]] ? data[formdatakey[0]] : "0";
    let t2 = data[formdatakey[1]] ? data[formdatakey[1]] : "0";
    let t3 = data[formdatakey[2]] ? data[formdatakey[2]] : "0";
    let t4 = data[formdatakey[3]] ? data[formdatakey[3]] : "0";
    if (t1 == "0" && t2 == "0" && t3 == "0" && t4 == "0") {
      continue;
    }
    // t1不足两位补0
    if (t1.length == 1) {
      t1 = "0" + t1;
    }
    // t2不足两位补0
    if (t2.length == 1) {
      t2 = "0" + t2;
    }
    // t3不足两位补0
    if (t3.length == 1) {
      t3 = "0" + t3;
    }
    // t4不足两位补0
    if (t4.length == 1) {
      t4 = "0" + t4;
    }
    times.push({
      sjs: t1 + ":" + t2,
      sje: t3 + ":" + t4,
    });
  }
  if (times.length == 0) {
    r.push("没有设置时间段");
    return r;
  }
  // 判断times是否有重复和交叉和是否占满24小时
  let times2 = [];
  for (let i = 0; i < times.length; i++) {
    let time = times[i];
    let sjs = time.sjs;
    let sje = time.sje;
    let sjs2 = sjs.replace(":", "");
    let sje2 = sje.replace(":", "");
    if (sjs2 >= sje2) {
      r.push("时间段" + sjs + "-" + sje + "开始时间大于结束时间");
    }
    times2.push({
      sjs: sjs2,
      sje: sje2,
    });
  }
  times2.sort((a, b) => {
    return Number(a.sjs) - Number(b.sjs);
  });
  for (let i = 0; i < times2.length - 1; i++) {
    let time = times2[i];
    let time2 = times2[i + 1];
    if (time.sje > time2.sjs) {
      r.push(
        "时间段" +
          time.sjs +
          "-" +
          time.sje +
          "和" +
          time2.sjs +
          "-" +
          time2.sje +
          "交叉"
      );
    } else if (time.sje != time2.sjs) {
      r.push(
        "时间段" +
          time.sjs +
          "-" +
          time.sje +
          "和" +
          time2.sjs +
          "-" +
          time2.sje +
          "不连续"
      );
    }
  }
  let t1 = times2[0];
  let t2 = times2[times2.length - 1];
  if (t1.sjs != "0000" || t2.sje != "2400") {
    r.push("时间段没有占满24小时");
  }
  return r;
}
export default {
  checkdata,
  searchjson: ChargeCarsearchjson,
  tablejson: ChargeCartablejson,
  addjson: ChargeCaraddjson,
  addsjson: addsjson,
  edtjson: ChargeCaredtjson,
  defaultdatavalue: defaultdatavalue,
  exceldata: exceldata,
  ChargeCfglx51: ChargeCfglx51,
  ChargeCfglx65: ChargeCfglx65,
  statesjson: states,
  RemoteMetertablejson: RemoteMetertablejson,
  ChargeCartypejson,
  type12jsondata,
};
